package org.cerberus.platform.api;

public interface IPlatform {

//	public void addExtensionPoint(Object plugin);
//	public void removeExtensionPoint(Object plugin);
	
	void publishComponent(Object component, String id);
	void unpublishComponent(String id);
	Object getPublishedComponent(String id);
	
	void activate(String pluginID);
	void deactivate(String pluginID);
	
	boolean isActive(String pluginID);
	
	void addRoot(Object root);
	
	void removeRoot(Object root);
	
	void inject(Object component);
	void attributeChange(Object component, String attributeName);
	void flush(Object component);
	
	Integer getID();
	
}
